package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.vo.SysNewsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysNewsMapper;
import com.ruoyi.system.domain.SysNews;
import com.ruoyi.system.service.ISysNewsService;

/**
 * 新闻Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-03-23
 */
@Service
public class SysNewsServiceImpl implements ISysNewsService 
{
    @Autowired
    private SysNewsMapper sysNewsMapper;

    /**
     * 查询新闻
     * 
     * @param newsId 新闻主键
     * @return 新闻
     */
    @Override
    public SysNewsVo selectSysNewsByNewsId(Long newsId)
    {
        return sysNewsMapper.selectSysNewsByNewsId(newsId);
    }

    /**
     * 查询新闻列表
     * 
     * @param sysNews 新闻
     * @return 新闻
     */
    @Override
    public List<SysNewsVo> selectSysNewsList(SysNews sysNews)
    {
        return sysNewsMapper.selectSysNewsList(sysNews);
    }

    /**
     * 新增新闻
     * 
     * @param sysNews 新闻
     * @return 结果
     */
    @Override
    public int insertSysNews(SysNews sysNews)
    {
        sysNews.setViews(0L);
        sysNews.setCreateTime(DateUtils.getNowDate());
        return sysNewsMapper.insertSysNews(sysNews);
    }

    /**
     * 修改新闻
     * 
     * @param sysNews 新闻
     * @return 结果
     */
    @Override
    public int updateSysNews(SysNews sysNews)
    {
        sysNews.setUpdateTime(DateUtils.getNowDate());
        return sysNewsMapper.updateSysNews(sysNews);
    }

    /**
     * 批量删除新闻
     * 
     * @param newsIds 需要删除的新闻主键
     * @return 结果
     */
    @Override
    public int deleteSysNewsByNewsIds(Long[] newsIds)
    {
        return sysNewsMapper.deleteSysNewsByNewsIds(newsIds);
    }

    /**
     * 删除新闻信息
     * 
     * @param newsId 新闻主键
     * @return 结果
     */
    @Override
    public int deleteSysNewsByNewsId(Long newsId)
    {
        return sysNewsMapper.deleteSysNewsByNewsId(newsId);
    }

    @Override
    public List<SysNewsVo> findHotNewsList() {
        return sysNewsMapper.findHotNewsList();
    }

    @Override
    public List<SysNewsVo> findDomesticDynamicsNews() {
        return sysNewsMapper.findDomesticDynamicsNews();
    }

    @Override
    public List<SysNewsVo> findProvincialDynamicsNews(SysNews sysNews) {
        return sysNewsMapper.findProvincialDynamicsNews(sysNews);
    }

    @Override
    public List<SysNews> findCitySharingRecommend() {
        return sysNewsMapper.findCitySharingRecommend();
    }

    @Override
    public List<SysNews> findEmployeeSharingRecommend() {
        return sysNewsMapper.findEmployeeSharingRecommend();
    }

    @Override
    public SysNews getPrevious(SysNews sysNews) {
        return sysNewsMapper.getPrevious(sysNews);
    }

    @Override
    public SysNews getNext(SysNews sysNews) {
        return sysNewsMapper.getNext(sysNews);
    }
}
